{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Imports\n",
    "\n",
    "Import all the modules and functionalities we need."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [],
   "source": [
    "%matplotlib inline\n",
    "\n",
    "# Import standard libraries.\n",
    "import os\n",
    "\n",
    "# Import third party libraries.\n",
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "import seaborn as sns\n",
    "from statsmodels.stats.multitest import multipletests\n",
    "\n",
    "# Import custom libraries/scripts.\n",
    "import annotations\n",
    "import helpers"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Loading data\n",
    "\n",
    "Fetch all our relevant data for the current analysis."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Set working contants.\n",
    "EXPERIMENTS_PATH = r'\\\\10.40.12.80\\home\\PhD\\Results\\Competition\\DL\\Four-Arena Setup\\sensory_mutants\\processed'\n",
    "FPS = 60\n",
    "N_MINUTES = 45\n",
    "N_FRAMES = N_MINUTES * 60 * FPS\n",
    "INK = 'black'"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Set figure configurations.\n",
    "sns.set(\n",
    "        context='paper',\n",
    "        style='ticks',\n",
    "        font='sans-serif',\n",
    "        font_scale=1.0, \n",
    "        rc={\n",
    "            'axes.axisbelow': True,\n",
    "            'axes.edgecolor': INK,\n",
    "            'axes.facecolor': 'white' if INK=='black' else 'black',\n",
    "            'axes.grid': False,\n",
    "            'axes.labelcolor': INK,\n",
    "            'axes.labelsize': 13.0,\n",
    "            'axes.labelweight': 'normal',\n",
    "            'axes.linewidth': 1.0,\n",
    "            'axes.spines.left': True,\n",
    "            'axes.spines.bottom': True,\n",
    "            'axes.spines.top': False,\n",
    "            'axes.spines.right': False,\n",
    "            'axes.titlepad': 15.0,\n",
    "            'axes.titlesize': 20.0,\n",
    "            'axes.titleweight': 'bold',\n",
    "            'figure.facecolor': 'white' if INK=='black' else 'black',\n",
    "            'figure.figsize': [8.0, 4.0],\n",
    "            'figure.titlesize': 30.0,\n",
    "            'figure.titleweight': 'bold',\n",
    "            'font.family': ['sans-serif'],\n",
    "            'font.sans-serif': ['Arial'],\n",
    "            'legend.frameon': False,\n",
    "            'legend.fontsize': 11.0,\n",
    "            'lines.color': INK,\n",
    "            'lines.linewidth': 1.0,\n",
    "            'patch.edgecolor': INK,\n",
    "            'savefig.dpi': 300,\n",
    "            'savefig.format': 'png',\n",
    "            'savefig.bbox': 'tight',\n",
    "            'savefig.transparent': True,\n",
    "            'text.color': INK,\n",
    "            'text.usetex': False,\n",
    "            'xtick.color': INK,\n",
    "            'xtick.direction': 'out',\n",
    "            'xtick.labelsize': 12.0,\n",
    "            'xtick.major.pad': 5.0,\n",
    "            'xtick.major.size': 0.0,\n",
    "            'xtick.major.width': 1.0,\n",
    "            'xtick.minor.size': 0.0,\n",
    "            'xtick.minor.width': 0.4,\n",
    "            'ytick.color': INK,\n",
    "            'ytick.direction': 'out',\n",
    "            'ytick.labelsize': 12.0,\n",
    "            'ytick.major.pad': 5.0,\n",
    "            'ytick.major.size': 3.0,\n",
    "            'ytick.major.width': 1.0,\n",
    "            'ytick.minor.size': 0.0,\n",
    "            'ytick.minor.width': 0.4\n",
    "           }\n",
    "       )"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Folder already exists, skipping.\n"
     ]
    }
   ],
   "source": [
    "# Prepare the Figures folder to save our graphs in.\n",
    "savepath = os.path.join(r'C:\\Users\\Miguel\\Desktop\\paper_data', 'paper_figures', 'figure3')\n",
    "try:\n",
    "    os.makedirs(savepath)\n",
    "    print('New folder created.')\n",
    "except FileExistsError:\n",
    "    print('Folder already exists, skipping.')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Paths to conditions:\n",
      " ['\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\aristaless', '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL', '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a', '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\NorpA', '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1', '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN2']\n"
     ]
    }
   ],
   "source": [
    "# Set the conditions to analyze.\n",
    "condition_order = ['DL', 'PoxN1', 'PoxN2', 'aristaless', 'NorpA', 'Ir8a_Ir25a_ORCO_Gr63a']\n",
    "conditions = [item.path for item in os.scandir(EXPERIMENTS_PATH) if item.name in condition_order]\n",
    "print('Paths to conditions:\\n', conditions)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "['video_2019-02-26T14_04_30_arena3', 'video_2018-10-30T14_27_48_arena4', 'video_2019-01-22T14_37_51_arena3', 'video_2018-11-08T15_53_03_arena1', 'video_2018-11-20T15_54_06_arena1', 'video_2019-01-10T15_20_27_arena4', 'video_2019-01-11T14_09_38_arena2']\n",
      "7\n"
     ]
    }
   ],
   "source": [
    "# Create a list of all the experiments that we DO NOT want to analyze.\n",
    "intruders = []\n",
    "for condition in conditions:\n",
    "    for file in os.listdir(condition):\n",
    "        if 'quality_control' in file:\n",
    "\n",
    "            # Read the quality.csv file to check which experiments are usable for analysis.\n",
    "            quality_file = os.path.join(condition, file)\n",
    "            quality_df = pd.read_csv(quality_file, usecols=[0,1], index_col=0)\n",
    "            quality_df = quality_df[quality_df['is_usable'] == False].index.values\n",
    "\n",
    "            for value in quality_df:\n",
    "                intruders.append(value)\n",
    "\n",
    "print(intruders)             \n",
    "print(len(intruders))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\t\n",
      " aristaless\n",
      "Copulation too short: video_2019-02-04T15_15_41_arena3\n",
      "Copulation too short: video_2019-02-07T14_18_30_arena4\n",
      "Copulation too short: video_2019-02-22T14_13_46_arena2\n",
      "Copulation too short: video_2019-02-26T14_04_30_arena2\n",
      "\t\n",
      " DL\n",
      "Copulation interrupted: video_2018-11-05T13_29_41_arena2\n",
      "Copulation too short: video_2019-02-12T14_18_45_arena3\n",
      "\t\n",
      " Ir8a_Ir25a_ORCO_Gr63a\n",
      "Copulation interrupted: video_2018-10-29T13_34_11_arena1\n",
      "Copulation interrupted: video_2018-10-29T14_30_25_arena2\n",
      "Copulation interrupted: video_2018-11-08T15_53_03_arena4\n",
      "Copulation interrupted: video_2018-11-20T15_54_06_arena2\n",
      "Copulation too short: video_2018-11-23T13_16_41_arena4\n",
      "Copulation interrupted: video_2019-01-23T13_53_58_arena4\n",
      "\t\n",
      " NorpA\n",
      "Copulation too short: video_2018-11-08T14_54_53_arena1\n",
      "Copulation too short: video_2018-11-26T16_15_44_arena2\n",
      "\t\n",
      " PoxN1\n",
      "\t\n",
      " PoxN2\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "{'DL': ['\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2018-10-25T13_42_23_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2018-10-25T14_33_07_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2018-10-25T15_22_02_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2018-10-25T16_11_07_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2018-10-29T13_34_11_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2018-10-29T14_30_25_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2018-10-29T15_23_04_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2018-10-29T15_23_04_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2018-10-30T13_33_46_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2018-10-30T15_21_16_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2018-11-08T13_15_26_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2018-11-08T15_53_03_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2018-11-08T15_53_03_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2018-11-09T14_24_57_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2018-11-09T16_10_10_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2018-11-12T13_24_50_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2018-11-12T16_04_41_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2018-11-13T15_07_14_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2018-11-15T13_24_06_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2018-11-15T15_07_55_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2018-11-16T16_03_35_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2018-11-19T13_24_37_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2018-11-22T13_23_26_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2019-01-07T13_25_24_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2019-01-07T14_15_27_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2019-01-08T14_28_18_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2019-01-10T13_33_34_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2019-01-21T13_49_00_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2019-01-22T15_30_10_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2019-01-23T13_53_58_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2019-01-28T14_28_36_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2019-01-31T13_34_34_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2019-01-31T15_10_22_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2019-02-04T13_23_14_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2019-02-04T15_15_41_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2019-02-05T14_28_35_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2019-02-07T14_18_30_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2019-02-07T16_17_30_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2019-02-08T13_28_42_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2019-02-11T13_24_09_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2019-02-11T14_25_15_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2019-02-12T13_18_39_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2019-02-14T14_07_10_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2019-02-14T15_15_28_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2019-02-18T13_35_00_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2019-02-18T14_58_21_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2019-02-18T14_58_21_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2019-02-19T13_31_50_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2019-02-19T14_29_27_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2019-02-21T14_29_51_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2019-02-21T15_27_33_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2019-02-22T13_22_20_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2019-02-22T15_05_09_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2019-02-25T14_15_16_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2019-02-25T16_00_43_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2019-02-26T13_16_40_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\DL\\\\video_2019-02-26T14_04_30_arena1'],\n",
       " 'PoxN1': ['\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1\\\\video_2018-11-05T14_25_33_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1\\\\video_2018-11-08T14_54_53_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1\\\\video_2018-11-09T13_32_43_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1\\\\video_2018-11-09T15_15_47_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1\\\\video_2018-11-09T16_10_10_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1\\\\video_2018-11-12T14_18_04_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1\\\\video_2018-11-12T15_11_17_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1\\\\video_2018-11-13T13_20_38_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1\\\\video_2018-11-13T14_12_04_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1\\\\video_2018-11-13T15_59_40_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1\\\\video_2018-11-15T13_24_06_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1\\\\video_2018-11-15T14_14_38_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1\\\\video_2018-11-16T14_16_30_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1\\\\video_2018-11-16T15_13_19_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1\\\\video_2018-11-19T15_13_59_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1\\\\video_2018-11-19T16_07_25_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1\\\\video_2018-11-22T15_13_22_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1\\\\video_2018-11-23T13_16_41_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1\\\\video_2018-11-23T14_06_32_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1\\\\video_2018-11-23T15_02_48_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1\\\\video_2018-11-26T14_23_16_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1\\\\video_2019-01-07T13_25_24_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1\\\\video_2019-01-10T15_20_27_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1\\\\video_2019-01-21T14_42_26_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1\\\\video_2019-01-24T13_41_39_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1\\\\video_2019-01-25T14_42_54_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1\\\\video_2019-01-25T16_37_11_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1\\\\video_2019-01-28T13_29_02_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1\\\\video_2019-01-28T16_23_38_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1\\\\video_2019-01-29T13_47_57_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1\\\\video_2019-01-31T14_23_50_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1\\\\video_2019-02-11T15_21_44_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1\\\\video_2019-02-12T15_09_30_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN1\\\\video_2019-02-14T13_20_25_arena1'],\n",
       " 'PoxN2': ['\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN2\\\\video_2018-11-05T13_29_41_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN2\\\\video_2018-11-05T14_25_33_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN2\\\\video_2018-11-06T15_23_12_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN2\\\\video_2018-11-08T13_15_26_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN2\\\\video_2018-11-08T14_05_24_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN2\\\\video_2018-11-09T14_24_57_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN2\\\\video_2018-11-09T16_10_10_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN2\\\\video_2018-11-13T15_59_40_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN2\\\\video_2018-11-19T13_24_37_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN2\\\\video_2018-11-19T13_24_37_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN2\\\\video_2018-11-19T16_07_25_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN2\\\\video_2018-11-20T13_17_32_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN2\\\\video_2018-11-22T13_23_26_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN2\\\\video_2018-11-26T13_22_06_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN2\\\\video_2019-01-07T15_09_49_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN2\\\\video_2019-01-08T15_26_26_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN2\\\\video_2019-01-10T16_14_19_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN2\\\\video_2019-01-10T16_14_19_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN2\\\\video_2019-01-22T13_46_31_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN2\\\\video_2019-01-22T15_30_10_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN2\\\\video_2019-01-23T13_53_58_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN2\\\\video_2019-01-23T14_43_15_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN2\\\\video_2019-01-24T14_36_54_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN2\\\\video_2019-01-25T14_42_54_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN2\\\\video_2019-01-25T15_47_08_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN2\\\\video_2019-01-28T16_23_38_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN2\\\\video_2019-01-29T14_34_09_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN2\\\\video_2019-02-11T15_21_44_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN2\\\\video_2019-02-12T15_09_30_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\PoxN2\\\\video_2019-02-14T14_07_10_arena4'],\n",
       " 'aristaless': ['\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\aristaless\\\\video_2019-01-31T14_23_50_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\aristaless\\\\video_2019-01-31T15_10_22_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\aristaless\\\\video_2019-01-31T15_10_22_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\aristaless\\\\video_2019-02-01T14_02_23_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\aristaless\\\\video_2019-02-01T14_55_59_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\aristaless\\\\video_2019-02-01T14_55_59_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\aristaless\\\\video_2019-02-01T15_52_47_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\aristaless\\\\video_2019-02-01T15_52_47_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\aristaless\\\\video_2019-02-04T13_23_14_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\aristaless\\\\video_2019-02-04T14_15_37_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\aristaless\\\\video_2019-02-05T13_34_46_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\aristaless\\\\video_2019-02-05T13_34_46_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\aristaless\\\\video_2019-02-07T13_27_20_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\aristaless\\\\video_2019-02-07T14_18_30_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\aristaless\\\\video_2019-02-07T16_17_30_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\aristaless\\\\video_2019-02-08T14_20_28_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\aristaless\\\\video_2019-02-08T14_20_28_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\aristaless\\\\video_2019-02-22T13_22_20_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\aristaless\\\\video_2019-02-22T14_13_46_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\aristaless\\\\video_2019-02-22T15_05_09_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\aristaless\\\\video_2019-02-22T15_05_09_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\aristaless\\\\video_2019-02-22T15_56_18_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\aristaless\\\\video_2019-02-22T15_56_18_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\aristaless\\\\video_2019-02-25T15_08_46_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\aristaless\\\\video_2019-02-25T16_00_43_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\aristaless\\\\video_2019-02-26T13_16_40_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\aristaless\\\\video_2019-02-26T15_07_41_arena2'],\n",
       " 'NorpA': ['\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\NorpA\\\\video_2018-10-25T15_22_02_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\NorpA\\\\video_2018-10-25T16_11_07_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\NorpA\\\\video_2018-10-30T13_33_46_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\NorpA\\\\video_2018-11-06T14_29_09_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\NorpA\\\\video_2018-11-09T13_32_43_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\NorpA\\\\video_2018-11-12T13_24_50_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\NorpA\\\\video_2018-11-13T14_12_04_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\NorpA\\\\video_2018-11-15T16_06_53_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\NorpA\\\\video_2018-11-16T14_16_30_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\NorpA\\\\video_2018-11-20T14_12_58_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\NorpA\\\\video_2018-11-20T15_02_15_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\NorpA\\\\video_2018-11-20T15_54_06_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\NorpA\\\\video_2018-11-26T14_23_16_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\NorpA\\\\video_2019-01-07T14_15_27_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\NorpA\\\\video_2019-01-08T14_28_18_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\NorpA\\\\video_2019-01-08T15_26_26_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\NorpA\\\\video_2019-01-11T14_09_38_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\NorpA\\\\video_2019-01-11T15_00_11_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\NorpA\\\\video_2019-01-22T13_46_31_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\NorpA\\\\video_2019-01-22T16_27_19_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\NorpA\\\\video_2019-01-23T13_53_58_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\NorpA\\\\video_2019-01-23T15_56_06_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\NorpA\\\\video_2019-01-24T16_31_14_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\NorpA\\\\video_2019-01-25T13_48_17_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\NorpA\\\\video_2019-01-25T14_42_54_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\NorpA\\\\video_2019-01-25T14_42_54_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\NorpA\\\\video_2019-01-25T16_37_11_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\NorpA\\\\video_2019-01-29T13_47_57_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\NorpA\\\\video_2019-01-29T16_16_40_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\NorpA\\\\video_2019-01-31T16_13_39_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\NorpA\\\\video_2019-02-04T16_09_37_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\NorpA\\\\video_2019-02-11T13_24_09_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\NorpA\\\\video_2019-02-12T15_09_30_arena3'],\n",
       " 'Ir8a_Ir25a_ORCO_Gr63a': ['\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2018-10-25T13_42_23_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2018-10-25T14_33_07_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2018-10-25T15_22_02_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2018-10-25T16_11_07_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2018-10-30T14_27_48_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2018-11-05T14_25_33_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2018-11-06T15_23_12_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2018-11-12T14_18_04_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2018-11-13T13_20_38_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2018-11-15T16_06_53_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2018-11-19T13_24_37_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2018-11-19T14_19_33_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2018-11-20T13_17_32_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2018-11-23T15_02_48_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2018-11-26T13_22_06_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2018-11-26T14_23_16_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2018-11-26T16_15_44_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2019-01-07T13_25_24_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2019-01-07T15_58_11_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2019-01-08T15_26_26_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2019-01-10T14_26_21_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2019-01-10T15_20_27_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2019-01-10T16_14_19_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2019-01-11T14_09_38_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2019-01-21T14_42_26_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2019-01-21T16_33_48_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2019-01-22T14_37_51_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2019-01-23T14_43_15_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2019-01-24T14_36_54_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2019-01-25T13_48_17_arena4',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2019-01-25T15_47_08_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2019-01-25T16_37_11_arena2',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2019-01-29T14_34_09_arena3',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2019-01-29T16_16_40_arena1',\n",
       "  '\\\\\\\\10.40.12.80\\\\home\\\\PhD\\\\Results\\\\Competition\\\\DL\\\\Four-Arena Setup\\\\sensory_mutants\\\\processed\\\\Ir8a_Ir25a_ORCO_Gr63a\\\\video_2019-02-04T15_15_41_arena2']}"
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Load all usable experiments for each condition.\n",
    "experiments = {condition: [] for condition in condition_order}\n",
    "\n",
    "for condition_path in conditions:\n",
    "    \n",
    "    condition = os.path.basename(condition_path)\n",
    "    print('\\t\\n', condition)\n",
    "    \n",
    "    for item in os.scandir(condition_path):\n",
    "        if item.is_dir() and item.name not in intruders:\n",
    "\n",
    "            annotation_video = annotations.read(item.path + '.csv')\n",
    "            \n",
    "            try:\n",
    "                copulation = annotation_video[0].events[0]\n",
    "\n",
    "                # Filter out videos where copulation is interrupted.\n",
    "                copulation_end = copulation.time_interval[1]\n",
    "                if copulation_end==N_FRAMES:\n",
    "                    print('Copulation interrupted:', item.name)\n",
    "                    continue\n",
    "\n",
    "                # Filter out videos where copulation lasts less than 8 minutes.\n",
    "                copulation_duration = copulation.duration\n",
    "                if copulation_duration <= 8 * 60 * FPS:\n",
    "                    print('Copulation too short:', item.name)\n",
    "                    continue\n",
    "            \n",
    "            except IndexError:\n",
    "                continue\n",
    "            \n",
    "            experiments[condition].append(item.path)\n",
    "\n",
    "experiments"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Aggression Analysis"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Iteration: 0 \n",
      "Experiment: video_2018-10-25T13_42_23_arena4 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 1 \n",
      "Experiment: video_2018-10-25T14_33_07_arena3 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 2 \n",
      "Experiment: video_2018-10-25T15_22_02_arena1 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 3 \n",
      "Experiment: video_2018-10-25T16_11_07_arena3 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 4 \n",
      "Experiment: video_2018-10-29T13_34_11_arena3 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 5 \n",
      "Experiment: video_2018-10-29T14_30_25_arena4 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 6 \n",
      "Experiment: video_2018-10-29T15_23_04_arena1 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 7 \n",
      "Experiment: video_2018-10-29T15_23_04_arena2 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 8 \n",
      "Experiment: video_2018-10-30T13_33_46_arena2 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 9 \n",
      "Experiment: video_2018-10-30T15_21_16_arena4 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 10 \n",
      "Experiment: video_2018-11-08T13_15_26_arena4 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 11 \n",
      "Experiment: video_2018-11-08T15_53_03_arena2 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 12 \n",
      "Experiment: video_2018-11-08T15_53_03_arena3 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 13 \n",
      "Experiment: video_2018-11-09T14_24_57_arena4 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 14 \n",
      "Experiment: video_2018-11-09T16_10_10_arena1 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 15 \n",
      "Experiment: video_2018-11-12T13_24_50_arena2 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 16 \n",
      "Experiment: video_2018-11-12T16_04_41_arena4 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 17 \n",
      "Experiment: video_2018-11-13T15_07_14_arena3 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 18 \n",
      "Experiment: video_2018-11-15T13_24_06_arena4 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 19 \n",
      "Experiment: video_2018-11-15T15_07_55_arena1 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 20 \n",
      "Experiment: video_2018-11-16T16_03_35_arena3 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 21 \n",
      "Experiment: video_2018-11-19T13_24_37_arena2 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 22 \n",
      "Experiment: video_2018-11-22T13_23_26_arena4 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 23 \n",
      "Experiment: video_2019-01-07T13_25_24_arena3 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 24 \n",
      "Experiment: video_2019-01-07T14_15_27_arena4 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 25 \n",
      "Experiment: video_2019-01-08T14_28_18_arena2 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 26 \n",
      "Experiment: video_2019-01-10T13_33_34_arena1 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 27 \n",
      "Experiment: video_2019-01-21T13_49_00_arena2 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 28 \n",
      "Experiment: video_2019-01-22T15_30_10_arena1 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 29 \n",
      "Experiment: video_2019-01-23T13_53_58_arena1 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 30 \n",
      "Experiment: video_2019-01-28T14_28_36_arena1 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 31 \n",
      "Experiment: video_2019-01-31T13_34_34_arena3 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 32 \n",
      "Experiment: video_2019-01-31T15_10_22_arena1 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 33 \n",
      "Experiment: video_2019-02-04T13_23_14_arena1 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 34 \n",
      "Experiment: video_2019-02-04T15_15_41_arena4 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 35 \n",
      "Experiment: video_2019-02-05T14_28_35_arena2 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 36 \n",
      "Experiment: video_2019-02-07T14_18_30_arena2 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 37 \n",
      "Experiment: video_2019-02-07T16_17_30_arena1 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 38 \n",
      "Experiment: video_2019-02-08T13_28_42_arena2 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 39 \n",
      "Experiment: video_2019-02-11T13_24_09_arena3 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 40 \n",
      "Experiment: video_2019-02-11T14_25_15_arena1 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 41 \n",
      "Experiment: video_2019-02-12T13_18_39_arena2 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 42 \n",
      "Experiment: video_2019-02-14T14_07_10_arena3 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 43 \n",
      "Experiment: video_2019-02-14T15_15_28_arena2 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 44 \n",
      "Experiment: video_2019-02-18T13_35_00_arena1 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 45 \n",
      "Experiment: video_2019-02-18T14_58_21_arena2 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 46 \n",
      "Experiment: video_2019-02-18T14_58_21_arena3 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 47 \n",
      "Experiment: video_2019-02-19T13_31_50_arena1 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 48 \n",
      "Experiment: video_2019-02-19T14_29_27_arena3 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 49 \n",
      "Experiment: video_2019-02-21T14_29_51_arena2 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 50 \n",
      "Experiment: video_2019-02-21T15_27_33_arena2 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 51 \n",
      "Experiment: video_2019-02-22T13_22_20_arena1 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 52 \n",
      "Experiment: video_2019-02-22T15_05_09_arena4 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 53 \n",
      "Experiment: video_2019-02-25T14_15_16_arena2 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 54 \n",
      "Experiment: video_2019-02-25T16_00_43_arena1 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 55 \n",
      "Experiment: video_2019-02-26T13_16_40_arena2 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 56 \n",
      "Experiment: video_2019-02-26T14_04_30_arena1 \n",
      "Condition: DL \n",
      "\n",
      "Iteration: 0 \n",
      "Experiment: video_2018-11-05T14_25_33_arena1 \n",
      "Condition: PoxN1 \n",
      "\n",
      "Iteration: 1 \n",
      "Experiment: video_2018-11-08T14_54_53_arena3 \n",
      "Condition: PoxN1 \n",
      "\n",
      "Iteration: 2 \n",
      "Experiment: video_2018-11-09T13_32_43_arena2 \n",
      "Condition: PoxN1 \n",
      "\n",
      "Iteration: 3 \n",
      "Experiment: video_2018-11-09T15_15_47_arena4 \n",
      "Condition: PoxN1 \n",
      "\n",
      "Iteration: 4 \n",
      "Experiment: video_2018-11-09T16_10_10_arena3 \n",
      "Condition: PoxN1 \n",
      "\n",
      "Iteration: 5 \n",
      "Experiment: video_2018-11-12T14_18_04_arena3 \n",
      "Condition: PoxN1 \n",
      "\n",
      "Iteration: 6 \n",
      "Experiment: video_2018-11-12T15_11_17_arena1 \n",
      "Condition: PoxN1 \n",
      "\n",
      "Iteration: 7 \n",
      "Experiment: video_2018-11-13T13_20_38_arena2 \n",
      "Condition: PoxN1 \n",
      "\n",
      "Iteration: 8 \n",
      "Experiment: video_2018-11-13T14_12_04_arena4 \n",
      "Condition: PoxN1 \n",
      "\n",
      "Iteration: 9 \n",
      "Experiment: video_2018-11-13T15_59_40_arena2 \n",
      "Condition: PoxN1 \n",
      "\n",
      "Iteration: 10 \n",
      "Experiment: video_2018-11-15T13_24_06_arena3 \n",
      "Condition: PoxN1 \n",
      "\n",
      "Iteration: 11 \n",
      "Experiment: video_2018-11-15T14_14_38_arena2 \n",
      "Condition: PoxN1 \n",
      "\n",
      "Iteration: 12 \n",
      "Experiment: video_2018-11-16T14_16_30_arena1 \n",
      "Condition: PoxN1 \n",
      "\n",
      "Iteration: 13 \n",
      "Experiment: video_2018-11-16T15_13_19_arena2 \n",
      "Condition: PoxN1 \n",
      "\n",
      "Iteration: 14 \n",
      "Experiment: video_2018-11-19T15_13_59_arena2 \n",
      "Condition: PoxN1 \n",
      "\n",
      "Iteration: 15 \n",
      "Experiment: video_2018-11-19T16_07_25_arena4 \n",
      "Condition: PoxN1 \n",
      "\n",
      "Iteration: 16 \n",
      "Experiment: video_2018-11-22T15_13_22_arena3 \n",
      "Condition: PoxN1 \n",
      "\n",
      "Iteration: 17 \n",
      "Experiment: video_2018-11-23T13_16_41_arena3 \n",
      "Condition: PoxN1 \n",
      "\n",
      "Iteration: 18 \n",
      "Experiment: video_2018-11-23T14_06_32_arena2 \n",
      "Condition: PoxN1 \n",
      "\n",
      "Iteration: 19 \n",
      "Experiment: video_2018-11-23T15_02_48_arena4 \n",
      "Condition: PoxN1 \n",
      "\n",
      "Iteration: 20 \n",
      "Experiment: video_2018-11-26T14_23_16_arena3 \n",
      "Condition: PoxN1 \n",
      "\n",
      "Iteration: 21 \n",
      "Experiment: video_2019-01-07T13_25_24_arena2 \n",
      "Condition: PoxN1 \n",
      "\n",
      "Iteration: 22 \n",
      "Experiment: video_2019-01-10T15_20_27_arena3 \n",
      "Condition: PoxN1 \n",
      "\n",
      "Iteration: 23 \n",
      "Experiment: video_2019-01-21T14_42_26_arena3 \n",
      "Condition: PoxN1 \n",
      "\n",
      "Iteration: 24 \n",
      "Experiment: video_2019-01-24T13_41_39_arena2 \n",
      "Condition: PoxN1 \n",
      "\n",
      "Iteration: 25 \n",
      "Experiment: video_2019-01-25T14_42_54_arena4 \n",
      "Condition: PoxN1 \n",
      "\n",
      "Iteration: 26 \n",
      "Experiment: video_2019-01-25T16_37_11_arena1 \n",
      "Condition: PoxN1 \n",
      "\n",
      "Iteration: 27 \n",
      "Experiment: video_2019-01-28T13_29_02_arena2 \n",
      "Condition: PoxN1 \n",
      "\n",
      "Iteration: 28 \n",
      "Experiment: video_2019-01-28T16_23_38_arena1 \n",
      "Condition: PoxN1 \n",
      "\n",
      "Iteration: 29 \n",
      "Experiment: video_2019-01-29T13_47_57_arena2 \n",
      "Condition: PoxN1 \n",
      "\n",
      "Iteration: 30 \n",
      "Experiment: video_2019-01-31T14_23_50_arena4 \n",
      "Condition: PoxN1 \n",
      "\n",
      "Iteration: 31 \n",
      "Experiment: video_2019-02-11T15_21_44_arena3 \n",
      "Condition: PoxN1 \n",
      "\n",
      "Iteration: 32 \n",
      "Experiment: video_2019-02-12T15_09_30_arena4 \n",
      "Condition: PoxN1 \n",
      "\n",
      "Iteration: 33 \n",
      "Experiment: video_2019-02-14T13_20_25_arena1 \n",
      "Condition: PoxN1 \n",
      "\n",
      "Iteration: 0 \n",
      "Experiment: video_2018-11-05T13_29_41_arena3 \n",
      "Condition: PoxN2 \n",
      "\n",
      "Iteration: 1 \n",
      "Experiment: video_2018-11-05T14_25_33_arena4 \n",
      "Condition: PoxN2 \n",
      "\n",
      "Iteration: 2 \n",
      "Experiment: video_2018-11-06T15_23_12_arena2 \n",
      "Condition: PoxN2 \n",
      "\n",
      "Iteration: 3 \n",
      "Experiment: video_2018-11-08T13_15_26_arena2 \n",
      "Condition: PoxN2 \n",
      "\n",
      "Iteration: 4 \n",
      "Experiment: video_2018-11-08T14_05_24_arena3 \n",
      "Condition: PoxN2 \n",
      "\n",
      "Iteration: 5 \n",
      "Experiment: video_2018-11-09T14_24_57_arena1 \n",
      "Condition: PoxN2 \n",
      "\n",
      "Iteration: 6 \n",
      "Experiment: video_2018-11-09T16_10_10_arena2 \n",
      "Condition: PoxN2 \n",
      "\n",
      "Iteration: 7 \n",
      "Experiment: video_2018-11-13T15_59_40_arena3 \n",
      "Condition: PoxN2 \n",
      "\n",
      "Iteration: 8 \n",
      "Experiment: video_2018-11-19T13_24_37_arena1 \n",
      "Condition: PoxN2 \n",
      "\n",
      "Iteration: 9 \n",
      "Experiment: video_2018-11-19T13_24_37_arena4 \n",
      "Condition: PoxN2 \n",
      "\n",
      "Iteration: 10 \n",
      "Experiment: video_2018-11-19T16_07_25_arena3 \n",
      "Condition: PoxN2 \n",
      "\n",
      "Iteration: 11 \n",
      "Experiment: video_2018-11-20T13_17_32_arena2 \n",
      "Condition: PoxN2 \n",
      "\n",
      "Iteration: 12 \n",
      "Experiment: video_2018-11-22T13_23_26_arena3 \n",
      "Condition: PoxN2 \n",
      "\n",
      "Iteration: 13 \n",
      "Experiment: video_2018-11-26T13_22_06_arena3 \n",
      "Condition: PoxN2 \n",
      "\n",
      "Iteration: 14 \n",
      "Experiment: video_2019-01-07T15_09_49_arena2 \n",
      "Condition: PoxN2 \n",
      "\n",
      "Iteration: 15 \n",
      "Experiment: video_2019-01-08T15_26_26_arena1 \n",
      "Condition: PoxN2 \n",
      "\n",
      "Iteration: 16 \n",
      "Experiment: video_2019-01-10T16_14_19_arena1 \n",
      "Condition: PoxN2 \n",
      "\n",
      "Iteration: 17 \n",
      "Experiment: video_2019-01-10T16_14_19_arena4 \n",
      "Condition: PoxN2 \n",
      "\n",
      "Iteration: 18 \n",
      "Experiment: video_2019-01-22T13_46_31_arena3 \n",
      "Condition: PoxN2 \n",
      "\n",
      "Iteration: 19 \n",
      "Experiment: video_2019-01-22T15_30_10_arena4 \n",
      "Condition: PoxN2 \n",
      "\n",
      "Iteration: 20 \n",
      "Experiment: video_2019-01-23T13_53_58_arena3 \n",
      "Condition: PoxN2 \n",
      "\n",
      "Iteration: 21 \n",
      "Experiment: video_2019-01-23T14_43_15_arena1 \n",
      "Condition: PoxN2 \n",
      "\n",
      "Iteration: 22 \n",
      "Experiment: video_2019-01-24T14_36_54_arena4 \n",
      "Condition: PoxN2 \n",
      "\n",
      "Iteration: 23 \n",
      "Experiment: video_2019-01-25T14_42_54_arena3 \n",
      "Condition: PoxN2 \n",
      "\n",
      "Iteration: 24 \n",
      "Experiment: video_2019-01-25T15_47_08_arena4 \n",
      "Condition: PoxN2 \n",
      "\n",
      "Iteration: 25 \n",
      "Experiment: video_2019-01-28T16_23_38_arena3 \n",
      "Condition: PoxN2 \n",
      "\n",
      "Iteration: 26 \n",
      "Experiment: video_2019-01-29T14_34_09_arena4 \n",
      "Condition: PoxN2 \n",
      "\n",
      "Iteration: 27 \n",
      "Experiment: video_2019-02-11T15_21_44_arena4 \n",
      "Condition: PoxN2 \n",
      "\n",
      "Iteration: 28 \n",
      "Experiment: video_2019-02-12T15_09_30_arena1 \n",
      "Condition: PoxN2 \n",
      "\n",
      "Iteration: 29 \n",
      "Experiment: video_2019-02-14T14_07_10_arena4 \n",
      "Condition: PoxN2 \n",
      "\n",
      "Iteration: 0 \n",
      "Experiment: video_2019-01-31T14_23_50_arena1 \n",
      "Condition: aristaless \n",
      "\n",
      "Iteration: 1 \n",
      "Experiment: video_2019-01-31T15_10_22_arena3 \n",
      "Condition: aristaless \n",
      "\n",
      "Iteration: 2 \n",
      "Experiment: video_2019-01-31T15_10_22_arena4 \n",
      "Condition: aristaless \n",
      "\n",
      "Iteration: 3 \n",
      "Experiment: video_2019-02-01T14_02_23_arena1 \n",
      "Condition: aristaless \n",
      "\n",
      "Iteration: 4 \n",
      "Experiment: video_2019-02-01T14_55_59_arena2 \n",
      "Condition: aristaless \n",
      "\n",
      "Iteration: 5 \n",
      "Experiment: video_2019-02-01T14_55_59_arena4 \n",
      "Condition: aristaless \n",
      "\n",
      "Iteration: 6 \n",
      "Experiment: video_2019-02-01T15_52_47_arena2 \n",
      "Condition: aristaless \n",
      "\n",
      "Iteration: 7 \n",
      "Experiment: video_2019-02-01T15_52_47_arena3 \n",
      "Condition: aristaless \n",
      "\n",
      "Iteration: 8 \n",
      "Experiment: video_2019-02-04T13_23_14_arena4 \n",
      "Condition: aristaless \n",
      "\n",
      "Iteration: 9 \n",
      "Experiment: video_2019-02-04T14_15_37_arena1 \n",
      "Condition: aristaless \n",
      "\n",
      "Iteration: 10 \n",
      "Experiment: video_2019-02-05T13_34_46_arena1 \n",
      "Condition: aristaless \n",
      "\n",
      "Iteration: 11 \n",
      "Experiment: video_2019-02-05T13_34_46_arena4 \n",
      "Condition: aristaless \n",
      "\n",
      "Iteration: 12 \n",
      "Experiment: video_2019-02-07T13_27_20_arena4 \n",
      "Condition: aristaless \n",
      "\n",
      "Iteration: 13 \n",
      "Experiment: video_2019-02-07T14_18_30_arena1 \n",
      "Condition: aristaless \n",
      "\n",
      "Iteration: 14 \n",
      "Experiment: video_2019-02-07T16_17_30_arena2 \n",
      "Condition: aristaless \n",
      "\n",
      "Iteration: 15 \n",
      "Experiment: video_2019-02-08T14_20_28_arena1 \n",
      "Condition: aristaless \n",
      "\n",
      "Iteration: 16 \n",
      "Experiment: video_2019-02-08T14_20_28_arena4 \n",
      "Condition: aristaless \n",
      "\n",
      "Iteration: 17 \n",
      "Experiment: video_2019-02-22T13_22_20_arena3 \n",
      "Condition: aristaless \n",
      "\n",
      "Iteration: 18 \n",
      "Experiment: video_2019-02-22T14_13_46_arena3 \n",
      "Condition: aristaless \n",
      "\n",
      "Iteration: 19 \n",
      "Experiment: video_2019-02-22T15_05_09_arena1 \n",
      "Condition: aristaless \n",
      "\n",
      "Iteration: 20 \n",
      "Experiment: video_2019-02-22T15_05_09_arena2 \n",
      "Condition: aristaless \n",
      "\n",
      "Iteration: 21 \n",
      "Experiment: video_2019-02-22T15_56_18_arena1 \n",
      "Condition: aristaless \n",
      "\n",
      "Iteration: 22 \n",
      "Experiment: video_2019-02-22T15_56_18_arena2 \n",
      "Condition: aristaless \n",
      "\n",
      "Iteration: 23 \n",
      "Experiment: video_2019-02-25T15_08_46_arena1 \n",
      "Condition: aristaless \n",
      "\n",
      "Iteration: 24 \n",
      "Experiment: video_2019-02-25T16_00_43_arena3 \n",
      "Condition: aristaless \n",
      "\n",
      "Iteration: 25 \n",
      "Experiment: video_2019-02-26T13_16_40_arena1 \n",
      "Condition: aristaless \n",
      "\n",
      "Iteration: 26 \n",
      "Experiment: video_2019-02-26T15_07_41_arena2 \n",
      "Condition: aristaless \n",
      "\n",
      "Iteration: 0 \n",
      "Experiment: video_2018-10-25T15_22_02_arena4 \n",
      "Condition: NorpA \n",
      "\n",
      "Iteration: 1 \n",
      "Experiment: video_2018-10-25T16_11_07_arena1 \n",
      "Condition: NorpA \n",
      "\n",
      "Iteration: 2 \n",
      "Experiment: video_2018-10-30T13_33_46_arena4 \n",
      "Condition: NorpA \n",
      "\n",
      "Iteration: 3 \n",
      "Experiment: video_2018-11-06T14_29_09_arena2 \n",
      "Condition: NorpA \n",
      "\n",
      "Iteration: 4 \n",
      "Experiment: video_2018-11-09T13_32_43_arena1 \n",
      "Condition: NorpA \n",
      "\n",
      "Iteration: 5 \n",
      "Experiment: video_2018-11-12T13_24_50_arena1 \n",
      "Condition: NorpA \n",
      "\n",
      "Iteration: 6 \n",
      "Experiment: video_2018-11-13T14_12_04_arena2 \n",
      "Condition: NorpA \n",
      "\n",
      "Iteration: 7 \n",
      "Experiment: video_2018-11-15T16_06_53_arena2 \n",
      "Condition: NorpA \n",
      "\n",
      "Iteration: 8 \n",
      "Experiment: video_2018-11-16T14_16_30_arena2 \n",
      "Condition: NorpA \n",
      "\n",
      "Iteration: 9 \n",
      "Experiment: video_2018-11-20T14_12_58_arena1 \n",
      "Condition: NorpA \n",
      "\n",
      "Iteration: 10 \n",
      "Experiment: video_2018-11-20T15_02_15_arena4 \n",
      "Condition: NorpA \n",
      "\n",
      "Iteration: 11 \n",
      "Experiment: video_2018-11-20T15_54_06_arena3 \n",
      "Condition: NorpA \n",
      "\n",
      "Iteration: 12 \n",
      "Experiment: video_2018-11-26T14_23_16_arena1 \n",
      "Condition: NorpA \n",
      "\n",
      "Iteration: 13 \n",
      "Experiment: video_2019-01-07T14_15_27_arena2 \n",
      "Condition: NorpA \n",
      "\n",
      "Iteration: 14 \n",
      "Experiment: video_2019-01-08T14_28_18_arena1 \n",
      "Condition: NorpA \n",
      "\n",
      "Iteration: 15 \n",
      "Experiment: video_2019-01-08T15_26_26_arena2 \n",
      "Condition: NorpA \n",
      "\n",
      "Iteration: 16 \n",
      "Experiment: video_2019-01-11T14_09_38_arena4 \n",
      "Condition: NorpA \n",
      "\n",
      "Iteration: 17 \n",
      "Experiment: video_2019-01-11T15_00_11_arena3 \n",
      "Condition: NorpA \n",
      "\n",
      "Iteration: 18 \n",
      "Experiment: video_2019-01-22T13_46_31_arena1 \n",
      "Condition: NorpA \n",
      "\n",
      "Iteration: 19 \n",
      "Experiment: video_2019-01-22T16_27_19_arena4 \n",
      "Condition: NorpA \n",
      "\n",
      "Iteration: 20 \n",
      "Experiment: video_2019-01-23T13_53_58_arena2 \n",
      "Condition: NorpA \n",
      "\n",
      "Iteration: 21 \n",
      "Experiment: video_2019-01-23T15_56_06_arena4 \n",
      "Condition: NorpA \n",
      "\n",
      "Iteration: 22 \n",
      "Experiment: video_2019-01-24T16_31_14_arena2 \n",
      "Condition: NorpA \n",
      "\n",
      "Iteration: 23 \n",
      "Experiment: video_2019-01-25T13_48_17_arena3 \n",
      "Condition: NorpA \n",
      "\n",
      "Iteration: 24 \n",
      "Experiment: video_2019-01-25T14_42_54_arena1 \n",
      "Condition: NorpA \n",
      "\n",
      "Iteration: 25 \n",
      "Experiment: video_2019-01-25T14_42_54_arena2 \n",
      "Condition: NorpA \n",
      "\n",
      "Iteration: 26 \n",
      "Experiment: video_2019-01-25T16_37_11_arena4 \n",
      "Condition: NorpA \n",
      "\n",
      "Iteration: 27 \n",
      "Experiment: video_2019-01-29T13_47_57_arena1 \n",
      "Condition: NorpA \n",
      "\n",
      "Iteration: 28 \n",
      "Experiment: video_2019-01-29T16_16_40_arena4 \n",
      "Condition: NorpA \n",
      "\n",
      "Iteration: 29 \n",
      "Experiment: video_2019-01-31T16_13_39_arena1 \n",
      "Condition: NorpA \n",
      "\n",
      "Iteration: 30 \n",
      "Experiment: video_2019-02-04T16_09_37_arena4 \n",
      "Condition: NorpA \n",
      "\n",
      "Iteration: 31 \n",
      "Experiment: video_2019-02-11T13_24_09_arena1 \n",
      "Condition: NorpA \n",
      "\n",
      "Iteration: 32 \n",
      "Experiment: video_2019-02-12T15_09_30_arena3 \n",
      "Condition: NorpA \n",
      "\n",
      "Iteration: 0 \n",
      "Experiment: video_2018-10-25T13_42_23_arena2 \n",
      "Condition: Ir8a_Ir25a_ORCO_Gr63a \n",
      "\n",
      "Iteration: 1 \n",
      "Experiment: video_2018-10-25T14_33_07_arena1 \n",
      "Condition: Ir8a_Ir25a_ORCO_Gr63a \n",
      "\n",
      "Iteration: 2 \n",
      "Experiment: video_2018-10-25T15_22_02_arena3 \n",
      "Condition: Ir8a_Ir25a_ORCO_Gr63a \n",
      "\n",
      "Iteration: 3 \n",
      "Experiment: video_2018-10-25T16_11_07_arena2 \n",
      "Condition: Ir8a_Ir25a_ORCO_Gr63a \n",
      "\n",
      "Iteration: 4 \n",
      "Experiment: video_2018-10-30T14_27_48_arena2 \n",
      "Condition: Ir8a_Ir25a_ORCO_Gr63a \n",
      "\n",
      "Iteration: 5 \n",
      "Experiment: video_2018-11-05T14_25_33_arena3 \n",
      "Condition: Ir8a_Ir25a_ORCO_Gr63a \n",
      "\n",
      "Iteration: 6 \n",
      "Experiment: video_2018-11-06T15_23_12_arena3 \n",
      "Condition: Ir8a_Ir25a_ORCO_Gr63a \n",
      "\n",
      "Iteration: 7 \n",
      "Experiment: video_2018-11-12T14_18_04_arena1 \n",
      "Condition: Ir8a_Ir25a_ORCO_Gr63a \n",
      "\n",
      "Iteration: 8 \n",
      "Experiment: video_2018-11-13T13_20_38_arena3 \n",
      "Condition: Ir8a_Ir25a_ORCO_Gr63a \n",
      "\n",
      "Iteration: 9 \n",
      "Experiment: video_2018-11-15T16_06_53_arena3 \n",
      "Condition: Ir8a_Ir25a_ORCO_Gr63a \n",
      "\n",
      "Iteration: 10 \n",
      "Experiment: video_2018-11-19T13_24_37_arena3 \n",
      "Condition: Ir8a_Ir25a_ORCO_Gr63a \n",
      "\n",
      "Iteration: 11 \n",
      "Experiment: video_2018-11-19T14_19_33_arena2 \n",
      "Condition: Ir8a_Ir25a_ORCO_Gr63a \n",
      "\n",
      "Iteration: 12 \n",
      "Experiment: video_2018-11-20T13_17_32_arena1 \n",
      "Condition: Ir8a_Ir25a_ORCO_Gr63a \n",
      "\n",
      "Iteration: 13 \n",
      "Experiment: video_2018-11-23T15_02_48_arena3 \n",
      "Condition: Ir8a_Ir25a_ORCO_Gr63a \n",
      "\n",
      "Iteration: 14 \n",
      "Experiment: video_2018-11-26T13_22_06_arena1 \n",
      "Condition: Ir8a_Ir25a_ORCO_Gr63a \n",
      "\n",
      "Iteration: 15 \n",
      "Experiment: video_2018-11-26T14_23_16_arena2 \n",
      "Condition: Ir8a_Ir25a_ORCO_Gr63a \n",
      "\n",
      "Iteration: 16 \n",
      "Experiment: video_2018-11-26T16_15_44_arena3 \n",
      "Condition: Ir8a_Ir25a_ORCO_Gr63a \n",
      "\n",
      "Iteration: 17 \n",
      "Experiment: video_2019-01-07T13_25_24_arena4 \n",
      "Condition: Ir8a_Ir25a_ORCO_Gr63a \n",
      "\n",
      "Iteration: 18 \n",
      "Experiment: video_2019-01-07T15_58_11_arena3 \n",
      "Condition: Ir8a_Ir25a_ORCO_Gr63a \n",
      "\n",
      "Iteration: 19 \n",
      "Experiment: video_2019-01-08T15_26_26_arena3 \n",
      "Condition: Ir8a_Ir25a_ORCO_Gr63a \n",
      "\n",
      "Iteration: 20 \n",
      "Experiment: video_2019-01-10T14_26_21_arena4 \n",
      "Condition: Ir8a_Ir25a_ORCO_Gr63a \n",
      "\n",
      "Iteration: 21 \n",
      "Experiment: video_2019-01-10T15_20_27_arena1 \n",
      "Condition: Ir8a_Ir25a_ORCO_Gr63a \n",
      "\n",
      "Iteration: 22 \n",
      "Experiment: video_2019-01-10T16_14_19_arena3 \n",
      "Condition: Ir8a_Ir25a_ORCO_Gr63a \n",
      "\n",
      "Iteration: 23 \n",
      "Experiment: video_2019-01-11T14_09_38_arena3 \n",
      "Condition: Ir8a_Ir25a_ORCO_Gr63a \n",
      "\n",
      "Iteration: 24 \n",
      "Experiment: video_2019-01-21T14_42_26_arena1 \n",
      "Condition: Ir8a_Ir25a_ORCO_Gr63a \n",
      "\n",
      "Iteration: 25 \n",
      "Experiment: video_2019-01-21T16_33_48_arena4 \n",
      "Condition: Ir8a_Ir25a_ORCO_Gr63a \n",
      "\n",
      "Iteration: 26 \n",
      "Experiment: video_2019-01-22T14_37_51_arena1 \n",
      "Condition: Ir8a_Ir25a_ORCO_Gr63a \n",
      "\n",
      "Iteration: 27 \n",
      "Experiment: video_2019-01-23T14_43_15_arena3 \n",
      "Condition: Ir8a_Ir25a_ORCO_Gr63a \n",
      "\n",
      "Iteration: 28 \n",
      "Experiment: video_2019-01-24T14_36_54_arena1 \n",
      "Condition: Ir8a_Ir25a_ORCO_Gr63a \n",
      "\n",
      "Iteration: 29 \n",
      "Experiment: video_2019-01-25T13_48_17_arena4 \n",
      "Condition: Ir8a_Ir25a_ORCO_Gr63a \n",
      "\n",
      "Iteration: 30 \n",
      "Experiment: video_2019-01-25T15_47_08_arena3 \n",
      "Condition: Ir8a_Ir25a_ORCO_Gr63a \n",
      "\n",
      "Iteration: 31 \n",
      "Experiment: video_2019-01-25T16_37_11_arena2 \n",
      "Condition: Ir8a_Ir25a_ORCO_Gr63a \n",
      "\n",
      "Iteration: 32 \n",
      "Experiment: video_2019-01-29T14_34_09_arena3 \n",
      "Condition: Ir8a_Ir25a_ORCO_Gr63a \n",
      "\n",
      "Iteration: 33 \n",
      "Experiment: video_2019-01-29T16_16_40_arena1 \n",
      "Condition: Ir8a_Ir25a_ORCO_Gr63a \n",
      "\n",
      "Iteration: 34 \n",
      "Experiment: video_2019-02-04T15_15_41_arena2 \n",
      "Condition: Ir8a_Ir25a_ORCO_Gr63a \n",
      "\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>has_aggression</th>\n",
       "      <th>latency</th>\n",
       "      <th>latency_mins</th>\n",
       "      <th>nframes</th>\n",
       "      <th>nbouts</th>\n",
       "      <th>ratio_frames</th>\n",
       "      <th>ratio_bouts</th>\n",
       "      <th>condition</th>\n",
       "      <th>experiment</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>True</td>\n",
       "      <td>5132.0</td>\n",
       "      <td>1.425556</td>\n",
       "      <td>1364</td>\n",
       "      <td>10</td>\n",
       "      <td>0.075778</td>\n",
       "      <td>2.0</td>\n",
       "      <td>DL</td>\n",
       "      <td>video_2018-10-25T13_42_23_arena4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>False</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>DL</td>\n",
       "      <td>video_2018-10-25T14_33_07_arena3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>False</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>DL</td>\n",
       "      <td>video_2018-10-25T15_22_02_arena1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>True</td>\n",
       "      <td>14204.0</td>\n",
       "      <td>3.945556</td>\n",
       "      <td>1685</td>\n",
       "      <td>10</td>\n",
       "      <td>0.093611</td>\n",
       "      <td>2.0</td>\n",
       "      <td>DL</td>\n",
       "      <td>video_2018-10-25T16_11_07_arena3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>True</td>\n",
       "      <td>33652.0</td>\n",
       "      <td>9.347778</td>\n",
       "      <td>935</td>\n",
       "      <td>5</td>\n",
       "      <td>0.051944</td>\n",
       "      <td>1.0</td>\n",
       "      <td>DL</td>\n",
       "      <td>video_2018-10-29T13_34_11_arena3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>211</th>\n",
       "      <td>False</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>Ir8a_Ir25a_ORCO_Gr63a</td>\n",
       "      <td>video_2019-01-25T15_47_08_arena3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>212</th>\n",
       "      <td>False</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>Ir8a_Ir25a_ORCO_Gr63a</td>\n",
       "      <td>video_2019-01-25T16_37_11_arena2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>213</th>\n",
       "      <td>False</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>Ir8a_Ir25a_ORCO_Gr63a</td>\n",
       "      <td>video_2019-01-29T14_34_09_arena3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>214</th>\n",
       "      <td>True</td>\n",
       "      <td>1065.0</td>\n",
       "      <td>0.295833</td>\n",
       "      <td>76</td>\n",
       "      <td>2</td>\n",
       "      <td>0.004222</td>\n",
       "      <td>0.4</td>\n",
       "      <td>Ir8a_Ir25a_ORCO_Gr63a</td>\n",
       "      <td>video_2019-01-29T16_16_40_arena1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>215</th>\n",
       "      <td>False</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>Ir8a_Ir25a_ORCO_Gr63a</td>\n",
       "      <td>video_2019-02-04T15_15_41_arena2</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>216 rows × 9 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "     has_aggression  latency  latency_mins  nframes  nbouts  ratio_frames  \\\n",
       "0              True   5132.0      1.425556     1364      10      0.075778   \n",
       "1             False      NaN      0.000000        0       0      0.000000   \n",
       "2             False      NaN      0.000000        0       0      0.000000   \n",
       "3              True  14204.0      3.945556     1685      10      0.093611   \n",
       "4              True  33652.0      9.347778      935       5      0.051944   \n",
       "..              ...      ...           ...      ...     ...           ...   \n",
       "211           False      NaN      0.000000        0       0      0.000000   \n",
       "212           False      NaN      0.000000        0       0      0.000000   \n",
       "213           False      NaN      0.000000        0       0      0.000000   \n",
       "214            True   1065.0      0.295833       76       2      0.004222   \n",
       "215           False      NaN      0.000000        0       0      0.000000   \n",
       "\n",
       "     ratio_bouts              condition                        experiment  \n",
       "0            2.0                     DL  video_2018-10-25T13_42_23_arena4  \n",
       "1            0.0                     DL  video_2018-10-25T14_33_07_arena3  \n",
       "2            0.0                     DL  video_2018-10-25T15_22_02_arena1  \n",
       "3            2.0                     DL  video_2018-10-25T16_11_07_arena3  \n",
       "4            1.0                     DL  video_2018-10-29T13_34_11_arena3  \n",
       "..           ...                    ...                               ...  \n",
       "211          0.0  Ir8a_Ir25a_ORCO_Gr63a  video_2019-01-25T15_47_08_arena3  \n",
       "212          0.0  Ir8a_Ir25a_ORCO_Gr63a  video_2019-01-25T16_37_11_arena2  \n",
       "213          0.0  Ir8a_Ir25a_ORCO_Gr63a  video_2019-01-29T14_34_09_arena3  \n",
       "214          0.4  Ir8a_Ir25a_ORCO_Gr63a  video_2019-01-29T16_16_40_arena1  \n",
       "215          0.0  Ir8a_Ir25a_ORCO_Gr63a  video_2019-02-04T15_15_41_arena2  \n",
       "\n",
       "[216 rows x 9 columns]"
      ]
     },
     "execution_count": 27,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "aggression_df = pd.DataFrame()\n",
    "for condition in condition_order:\n",
    "    for h, experiment_path in enumerate(experiments[condition]):\n",
    "\n",
    "        experiment = os.path.basename(experiment_path)\n",
    "        \n",
    "        print('Iteration:', h, '\\nExperiment:', experiment, '\\nCondition:', condition, '\\n')\n",
    "        \n",
    "        # Read .csv annotation files.\n",
    "        annotation_video = annotations.read(experiment_path+'.csv')\n",
    "        copulation = annotation_video[0].events[0]\n",
    "        aggression_events = annotation_video[1].events\n",
    "        n_events = len(aggression_events)\n",
    "\n",
    "        # In case there is aggression, do the necessary calculations.\n",
    "        if n_events > 0:\n",
    "\n",
    "            latency =  aggression_events[0].time - copulation.time\n",
    "            latency_mins = latency / (60 * FPS)\n",
    "            ratio_frames = sum([aggression.duration for aggression in aggression_events]) / (5 * 60 * FPS)\n",
    "            ratio_bouts = n_events / 5\n",
    "\n",
    "            aggression_data = pd.DataFrame({'has_aggression': True,\n",
    "                                            'latency': latency,\n",
    "                                            'latency_mins': latency_mins,\n",
    "                                            'nframes': sum([aggression.duration for aggression in aggression_events]),\n",
    "                                            'nbouts': n_events,\n",
    "                                            'ratio_frames': ratio_frames,\n",
    "                                            'ratio_bouts': ratio_bouts,\n",
    "                                            'condition': condition,\n",
    "                                            'experiment': experiment},\n",
    "                                            index=[h],\n",
    "                                           )\n",
    "\n",
    "        # If not, preset our dictionary with default values.\n",
    "        else:\n",
    "\n",
    "            aggression_data = pd.DataFrame({'has_aggression': False,\n",
    "                                            'latency': np.nan,\n",
    "                                            'latency_mins': 0,\n",
    "                                            'nframes': 0,\n",
    "                                            'nbouts': 0,\n",
    "                                            'ratio_frames': 0, \n",
    "                                            'ratio_bouts': 0,\n",
    "                                            'condition': condition,\n",
    "                                            'experiment': experiment},\n",
    "                                            index=[h],\n",
    "                                          )\n",
    "\n",
    "        # Concatenate all data together.\n",
    "        aggression_df = pd.concat([aggression_df, aggression_data], ignore_index=True)\n",
    "\n",
    "aggression_df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>n_aggression</th>\n",
       "      <th>n_experiments</th>\n",
       "      <th>aggression_rate</th>\n",
       "      <th>condition</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>37</td>\n",
       "      <td>57</td>\n",
       "      <td>0.649123</td>\n",
       "      <td>DL</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>26</td>\n",
       "      <td>34</td>\n",
       "      <td>0.764706</td>\n",
       "      <td>PoxN1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>24</td>\n",
       "      <td>30</td>\n",
       "      <td>0.800000</td>\n",
       "      <td>PoxN2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>15</td>\n",
       "      <td>27</td>\n",
       "      <td>0.555556</td>\n",
       "      <td>aristaless</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>12</td>\n",
       "      <td>33</td>\n",
       "      <td>0.363636</td>\n",
       "      <td>NorpA</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>3</td>\n",
       "      <td>35</td>\n",
       "      <td>0.085714</td>\n",
       "      <td>Ir8a_Ir25a_ORCO_Gr63a</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   n_aggression  n_experiments  aggression_rate              condition\n",
       "0            37             57         0.649123                     DL\n",
       "1            26             34         0.764706                  PoxN1\n",
       "2            24             30         0.800000                  PoxN2\n",
       "3            15             27         0.555556             aristaless\n",
       "4            12             33         0.363636                  NorpA\n",
       "5             3             35         0.085714  Ir8a_Ir25a_ORCO_Gr63a"
      ]
     },
     "execution_count": 28,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Re-arrange original aggression DataFrame to get aggression rate.\n",
    "aggression_rate_df = pd.DataFrame()\n",
    "has_aggression_list = []\n",
    "for condition in condition_order:\n",
    "    \n",
    "    aggression_column = aggression_df[aggression_df['condition']==condition]\n",
    "    n_exp = aggression_column.shape[0]\n",
    "\n",
    "    has_aggression = aggression_column[aggression_column['has_aggression']==True]\n",
    "    n_aggression = has_aggression.shape[0]\n",
    "    has_aggression_list.append(n_aggression)\n",
    "    aggression_rate = n_aggression / n_exp\n",
    "    rate_data = pd.DataFrame({'n_aggression': n_aggression,\n",
    "                              'n_experiments': n_exp,\n",
    "                              'aggression_rate': aggression_rate,\n",
    "                              'condition': condition,\n",
    "                             }, index=[0])\n",
    "        \n",
    "    aggression_rate_df = pd.concat([aggression_rate_df, rate_data], ignore_index=True)\n",
    "\n",
    "aggression_rate_df = aggression_rate_df[['n_aggression', 'n_experiments', 'aggression_rate', 'condition']]\n",
    "aggression_rate_df"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## How many frames of aggression do we observe?"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>ratio_frames</th>\n",
       "      <th>condition</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0.075778</td>\n",
       "      <td>DL</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0.000000</td>\n",
       "      <td>DL</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0.000000</td>\n",
       "      <td>DL</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0.093611</td>\n",
       "      <td>DL</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0.051944</td>\n",
       "      <td>DL</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>211</th>\n",
       "      <td>0.000000</td>\n",
       "      <td>Ir8a_Ir25a_ORCO_Gr63a</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>212</th>\n",
       "      <td>0.000000</td>\n",
       "      <td>Ir8a_Ir25a_ORCO_Gr63a</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>213</th>\n",
       "      <td>0.000000</td>\n",
       "      <td>Ir8a_Ir25a_ORCO_Gr63a</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>214</th>\n",
       "      <td>0.004222</td>\n",
       "      <td>Ir8a_Ir25a_ORCO_Gr63a</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>215</th>\n",
       "      <td>0.000000</td>\n",
       "      <td>Ir8a_Ir25a_ORCO_Gr63a</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>216 rows × 2 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "     ratio_frames              condition\n",
       "0        0.075778                     DL\n",
       "1        0.000000                     DL\n",
       "2        0.000000                     DL\n",
       "3        0.093611                     DL\n",
       "4        0.051944                     DL\n",
       "..            ...                    ...\n",
       "211      0.000000  Ir8a_Ir25a_ORCO_Gr63a\n",
       "212      0.000000  Ir8a_Ir25a_ORCO_Gr63a\n",
       "213      0.000000  Ir8a_Ir25a_ORCO_Gr63a\n",
       "214      0.004222  Ir8a_Ir25a_ORCO_Gr63a\n",
       "215      0.000000  Ir8a_Ir25a_ORCO_Gr63a\n",
       "\n",
       "[216 rows x 2 columns]"
      ]
     },
     "execution_count": 29,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ratio_frames_df = aggression_df.copy()[['ratio_frames', 'condition']]\n",
    "ratio_frames_df"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Statistics"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "\t PoxN1 \n",
      "\n",
      "Shapiro's Test: group 1 IS NOT normally distributed.\n",
      "D'Agostino's Test: group 1 IS NOT normally distributed.\n",
      "Shapiro's Test: group 2 IS NOT normally distributed.\n",
      "D'Agostino's Test: group 2 IS NOT normally distributed.\n",
      "Levene's Test for non-normally distributed samples:\n",
      "  p-value = 0.450152\n",
      "  All groups were sampled from populations with IDENTICAL variances.\n",
      "\n",
      "Mann-Whitney p-value: 0.37427610046126186 \n",
      "\n",
      "\n",
      "\t PoxN2 \n",
      "\n",
      "Shapiro's Test: group 1 IS NOT normally distributed.\n",
      "D'Agostino's Test: group 1 IS NOT normally distributed.\n",
      "Shapiro's Test: group 2 IS NOT normally distributed.\n",
      "D'Agostino's Test: group 2 IS normally distributed.\n",
      "Levene's Test for non-normally distributed samples:\n",
      "  p-value = 0.050545\n",
      "  All groups were sampled from populations with IDENTICAL variances.\n",
      "\n",
      "Mann-Whitney p-value: 0.3999589159588931 \n",
      "\n",
      "\n",
      "\t aristaless \n",
      "\n",
      "Shapiro's Test: group 1 IS NOT normally distributed.\n",
      "D'Agostino's Test: group 1 IS NOT normally distributed.\n",
      "Shapiro's Test: group 2 IS NOT normally distributed.\n",
      "D'Agostino's Test: group 2 IS NOT normally distributed.\n",
      "Levene's Test for non-normally distributed samples:\n",
      "  p-value = 0.025850\n",
      "  All groups were sampled from populations with NOT IDENTICAL variances.\n",
      "\n",
      "Mann-Whitney p-value: 0.0356749857755902 \n",
      "\n",
      "\n",
      "\t NorpA \n",
      "\n",
      "Shapiro's Test: group 1 IS NOT normally distributed.\n",
      "D'Agostino's Test: group 1 IS NOT normally distributed.\n",
      "Shapiro's Test: group 2 IS NOT normally distributed.\n",
      "D'Agostino's Test: group 2 IS NOT normally distributed.\n",
      "Levene's Test for non-normally distributed samples:\n",
      "  p-value = 0.004544\n",
      "  All groups were sampled from populations with NOT IDENTICAL variances.\n",
      "\n",
      "Mann-Whitney p-value: 0.0010209869912756327 \n",
      "\n",
      "\n",
      "\t Ir8a_Ir25a_ORCO_Gr63a \n",
      "\n",
      "Shapiro's Test: group 1 IS NOT normally distributed.\n",
      "D'Agostino's Test: group 1 IS NOT normally distributed.\n",
      "Shapiro's Test: group 2 IS NOT normally distributed.\n",
      "D'Agostino's Test: group 2 IS NOT normally distributed.\n",
      "Levene's Test for non-normally distributed samples:\n",
      "  p-value = 0.000331\n",
      "  All groups were sampled from populations with NOT IDENTICAL variances.\n",
      "\n",
      "Mann-Whitney p-value: 3.738210174051614e-08 \n",
      "\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "{'PoxN1': 0.37427610046126186,\n",
       " 'PoxN2': 0.3999589159588931,\n",
       " 'aristaless': 0.0356749857755902,\n",
       " 'NorpA': 0.0010209869912756327,\n",
       " 'Ir8a_Ir25a_ORCO_Gr63a': 3.738210174051614e-08}"
      ]
     },
     "execution_count": 30,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "frames_pvalues = {}\n",
    "\n",
    "control = ratio_frames_df.query('condition==\"DL\"')['ratio_frames']\n",
    "\n",
    "for condition in condition_order[1:]:\n",
    "        \n",
    "    print('\\n\\t', condition, '\\n')\n",
    "\n",
    "    try:\n",
    "        test = ratio_frames_df.query('condition==\"' + condition + '\"')['ratio_frames']\n",
    "\n",
    "        temp_values = {'control': control, 'test': test}\n",
    "\n",
    "        pvalue_condition = helpers.run_statistics(temp_values)\n",
    "\n",
    "        frames_pvalues[condition] = pvalue_condition\n",
    "        \n",
    "    except ValueError as error:\n",
    "        print(error)\n",
    "    \n",
    "frames_pvalues"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Bonferroni Correction\n",
      "---------------------\n",
      "\n",
      "\tOriginal Values:\n",
      " {'PoxN1': 0.37427610046126186, 'PoxN2': 0.3999589159588931, 'aristaless': 0.0356749857755902, 'NorpA': 0.0010209869912756327, 'Ir8a_Ir25a_ORCO_Gr63a': 3.738210174051614e-08}\n",
      "\n",
      "\tCorrected Values:\n",
      " {'PoxN1': 1.0, 'PoxN2': 1.0, 'aristaless': 0.178374928877951, 'NorpA': 0.0051049349563781635, 'Ir8a_Ir25a_ORCO_Gr63a': 1.869105087025807e-07} \n",
      "\n"
     ]
    }
   ],
   "source": [
    "# Bonferroni corretction for multiple comparisons.\n",
    "title = 'Bonferroni Correction'\n",
    "print(title)\n",
    "print('-'*len(title))\n",
    "\n",
    "# Show uncorrected values.\n",
    "print('\\n\\tOriginal Values:\\n', frames_pvalues)\n",
    "\n",
    "# Apply the bonferroni correction for multiple comparisons.\n",
    "frames_multi_comp_correction = multipletests(pvals=list(frames_pvalues.values()), alpha=0.05, method='bonferroni')[1]\n",
    "\n",
    "# Transform the correction results into a dictionary.\n",
    "corrected_frames_pvalues = dict(zip(list(frames_pvalues.keys()), frames_multi_comp_correction))\n",
    "\n",
    "# Show corrected values.\n",
    "print('\\n\\tCorrected Values:\\n', corrected_frames_pvalues, '\\n')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Effect Size"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "PoxN1\n",
      "Vestigial Effect: -0.1176470588235295 \n",
      "\n",
      "PoxN2\n",
      "Small Effect: 0.3345588235294117 \n",
      "\n",
      "aristaless\n",
      "Medium Effect: -0.7573529411764706 \n",
      "\n",
      "NorpA\n",
      "Large Efect: -1.0 \n",
      "\n",
      "Ir8a_Ir25a_ORCO_Gr63a\n",
      "Large Efect: -1.0 \n",
      "\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "{'PoxN1': -0.1176470588235295,\n",
       " 'PoxN2': 0.3345588235294117,\n",
       " 'aristaless': -0.7573529411764706,\n",
       " 'NorpA': -1.0,\n",
       " 'Ir8a_Ir25a_ORCO_Gr63a': -1.0}"
      ]
     },
     "execution_count": 32,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "frames_effect_sizes = {}\n",
    "\n",
    "control = ratio_frames_df.query('condition==\"DL\"')['ratio_frames']\n",
    "\n",
    "for condition in condition_order[1:]:\n",
    "    \n",
    "    print(condition)\n",
    "    \n",
    "    test = ratio_frames_df.query('condition==\"' + condition + '\"')['ratio_frames']\n",
    "\n",
    "    median_diff = helpers.get_effect_size(control, test, method='median_diff')\n",
    "    \n",
    "    frames_effect_sizes[condition] = median_diff\n",
    "    \n",
    "frames_effect_sizes"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Plot"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 540x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Initialize figure.\n",
    "n_conditions = ratio_frames_df['condition'].nunique()\n",
    "figure, axis = plt.subplots(figsize=(1.25*n_conditions, 4))\n",
    "\n",
    "# Draw the boxplot.\n",
    "sns.boxplot(x='condition',\n",
    "            y='ratio_frames',\n",
    "            data=ratio_frames_df,\n",
    "            palette=['steelblue', '#0B4619', '#116530', '#FFE652', '#F0E9D2', '#533535'],\n",
    "            order=ratio_frames_df['condition'].unique(),\n",
    "            width=0.6,\n",
    "            showfliers=False,\n",
    "            boxprops={'edgecolor': INK},\n",
    "            medianprops={'color': INK},\n",
    "            whiskerprops={'color': INK},\n",
    "            capprops={'color': INK}\n",
    "           )\n",
    "\n",
    "# Draw the swarmplot.\n",
    "sns.swarmplot(x='condition',\n",
    "              y='ratio_frames',\n",
    "              data=ratio_frames_df,\n",
    "              order=ratio_frames_df['condition'].unique(),\n",
    "              palette=['steelblue', '#0B4619', '#116530', '#FFE652', '#F0E9D2', '#533535'],\n",
    "              linewidth=0.75,\n",
    "              edgecolor=INK\n",
    "             )\n",
    "\n",
    "# Figure and axes formatting.\n",
    "axis.set_xlabel('')\n",
    "axis.set_xticklabels([''])\n",
    "axis.set_ylabel('Aggression Rate (%)')\n",
    "axis.set_ylim(0, 0.2)\n",
    "axis.set_yticks(np.arange(0, 0.2+0.01, 0.02))\n",
    "axis.set_yticklabels([int(y*100) for y in axis.get_yticks()])\n",
    "\n",
    "# Table definition.\n",
    "row1 = [str(ratio_frames_df.query('condition==\"'+condition+'\"').shape[0]) for condition in condition_order]\n",
    "row2_labels = ['WT', '${Poxn}$1', '${Poxn}$2', 'aristaless', '${norpA}$', '${IR8a\\N{SUPERSCRIPT ONE}, IR25a\\N{SUPERSCRIPT TWO}}$,\\n${GR63a\\N{SUPERSCRIPT ONE}, ORCO\\N{SUPERSCRIPT ONE}}$']\n",
    "row2_labels = [label + '\\n' for label in row2_labels]\n",
    "row2 = row2_labels\n",
    "cell_text = np.array([row1, row2])\n",
    "\n",
    "row_labels = ['n =', '']\n",
    "summary_table = axis.table(cellText= cell_text,\n",
    "                           cellLoc='center',\n",
    "                           rowLabels=row_labels,\n",
    "                           rowLoc='center',\n",
    "                           colLoc='center'\n",
    "                          )\n",
    "\n",
    "summary_table.auto_set_font_size(False)\n",
    "summary_table.set_fontsize(11)\n",
    "\n",
    "properties = summary_table.properties()\n",
    "table_cells = properties['children']\n",
    "for cell in table_cells:\n",
    "    cell.set_height(0.12)\n",
    "    cell.set_alpha(0)\n",
    "    \n",
    "# Draw statistical results.\n",
    "for p, condition in enumerate(condition_order[1:]):\n",
    "    sig_height = 6 if (corrected_frames_pvalues.get(condition, 'NaN') == 'NaN') or (corrected_frames_pvalues.get(condition, 'NaN') >= 0.05) else 2\n",
    "    helpers.plot_stattest_result(ax=axis,\n",
    "                                 x1=p+1,\n",
    "                                 x2=p+1,\n",
    "                                 p_value=corrected_frames_pvalues.get(condition, 'NaN'),\n",
    "                                 y=0.18,\n",
    "                                 ticksize=0,\n",
    "                                 xytext=(0,sig_height),\n",
    "                                 fontsize=13,\n",
    "                                 color=INK,\n",
    "                                 connector_color=INK\n",
    "                                )\n",
    "\n",
    "# Saving parameters.\n",
    "filename = 'aggression_rate_first_5mins_sensory_mutants'\n",
    "plt.savefig(os.path.join(savepath, filename))\n",
    "\n",
    "plt.show()\n",
    "plt.close()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.6"
  },
  "toc": {
   "base_numbering": 1,
   "nav_menu": {},
   "number_sections": true,
   "sideBar": true,
   "skip_h1_title": false,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": false,
   "toc_position": {},
   "toc_section_display": true,
   "toc_window_display": false
  },
  "varInspector": {
   "cols": {
    "lenName": 16,
    "lenType": 16,
    "lenVar": 40
   },
   "kernels_config": {
    "python": {
     "delete_cmd_postfix": "",
     "delete_cmd_prefix": "del ",
     "library": "var_list.py",
     "varRefreshCmd": "print(var_dic_list())"
    },
    "r": {
     "delete_cmd_postfix": ") ",
     "delete_cmd_prefix": "rm(",
     "library": "var_list.r",
     "varRefreshCmd": "cat(var_dic_list()) "
    }
   },
   "types_to_exclude": [
    "module",
    "function",
    "builtin_function_or_method",
    "instance",
    "_Feature"
   ],
   "window_display": false
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
